package
{
	import flash.debugger.enterDebugger;
	import flash.display.Loader;
	import flash.display.MovieClip;
	import flash.display.Sprite;
	import flash.utils.ByteArray;
	import flash.utils.Endian;

	public class alert extends MovieClip
	{

		public function alert()
		{
			addFrameScript(0, function():void{
				trace(1);
			});
			addFrameScript(1, function():void{
				trace(2);
			});
			return;
			
			
			//実行したいスクリプト
			var script:String = "alert('Hello わんだふる')";

			//スクリプトをバイナリに変換してサイズを取得
			var s:ByteArray = new ByteArray();
			s.writeUTFBytes(script);
			var len:uint = s.length;

			var bytes:ByteArray = new ByteArray();
			bytes.endian = Endian.LITTLE_ENDIAN;

			//FWS
			bytes.writeByte(0x46);
			bytes.writeByte(0x57);
			bytes.writeByte(0x53);

			//SWFバージョン
			bytes.writeByte(0x0a);

			//ファイルサイズ
			bytes.writeUnsignedInt(len + 50);

			//フレームサイズ
			//先頭5bitsを1にして、x/y/w/hをそれぞれ1bit、計2bytes(9bits)
			bytes.writeByte(0x80);
			bytes.writeByte(0x00);

			//フレームレート
			//16bitの数値 / 256がフレームレートになる
			bytes.writeShort(24 * 256);

			//フレーム数
			bytes.writeShort(1);

			//FileAttributesタグ(必須)
			bytes.writeByte(0x44);
			bytes.writeByte(0x11);
			bytes.writeByte(0x00);
			bytes.writeByte(0x00);
			bytes.writeByte(0x00);
			bytes.writeByte(0x00);

			//SetBackgroundColorタグ(仕様上では必須ではないが、ないと動かない)
			bytes.writeByte(0x43);
			bytes.writeByte(0x02);
			bytes.writeByte(0xff);
			bytes.writeByte(0xff);
			bytes.writeByte(0xff);

			//DoActionタグ
			bytes.writeByte(0x3f);
			bytes.writeByte(0x03);

			//タグサイズ
			bytes.writeUnsignedInt(len + 17);

			//ActionGetURL
			bytes.writeByte(0x83);

			//アクションのサイズ
			bytes.writeShort(len + 13);
			
			//javascript:
			bytes.writeUTFBytes("javascript:");

			//スクリプト
			bytes.writeUTFBytes(script);

			//スクリプト文字終端
			bytes.writeByte(0x00);

			//GetURLのターゲット(空文字列)
			bytes.writeByte(0x00);

			//DoActionの終了
			bytes.writeByte(0x00);

			//Endタグ
			bytes.writeByte(0x00);
			bytes.writeByte(0x00);

			//読ませる
			var loader:Loader = new Loader();
			loader.loadBytes(bytes);
		}
	}
}
